#ifndef __M_MESS_H__
#define __M_MESS_H__

#include "util.hpp"
#include "level.hpp"
#include <iostream>
#include <thread>
#include <string>

namespace Alpaca
{
    struct LogMsg
    {
        time_t _time;
        LogLevel::value _level;
        std::string _file;
        size_t _line;
        std::thread::id _tid;
        std::string _logger;
        std::string _payload;

        LogMsg(LogLevel::value level, std::string file, size_t line,
               std::string logger, std::string msg)
            : _time(util::Date::now()), _level(level), _file(file)\
            , _line(line), _tid(std::this_thread::get_id())\
            , _logger(logger), _payload(msg){}
    };
}

#endif